package com.ruicar.afs.cloud.common.modules.dto.mq.approve;

import com.alibaba.fastjson.annotation.JSONField;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinCostDetails;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinDiscountDetails;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinFinancingItems;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinRentAdjustDetails;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-05-13 18:41
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderSubmitInfo implements Serializable {

    @JSONField(name = "applyNo")
    private String applyNo;
    //申请场景
    @JSONField(name = "applyScene")
    private String applyScene;
    //操作类型
    @JSONField(name = "oprType")
    private String oprType;
    //流程Id
    @JSONField(name = "dataId")
    private String dataId;

    /**
     * 修订回复留言
     */
    @JSONField(name = "leaveMessage")
    private String leaveMessage;
    /**
     * 合作商名称
     */
    @JSONField(name = "channelName")
    private String channelName;

    /**
     * 是否流程内撤回后重新提交
     * yes:是
     * no:否
     */
    @JSONField(name = "isCallBackSubmit")
    private String isCallBackSubmit;

    @JSONField(name = "caseBaseInfo")
    private CaseBaseInfoDto caseBaseInfo;
    @JSONField(name = "caseChannelInfo")
    private CaseChannelInfoDto caseChannelInfo;
    @JSONField(name = "caseCustInfoList")
    private ArrayList<CaseCustInfoDto> caseCustInfoList;
    @JSONField(name = "caseCustIndividualList")
    private ArrayList<CaseCustIndividualDto> caseCustIndividualList;
    @JSONField(name = "caseCustCompanyList")
    private ArrayList<CaseCustCompanyDto> caseCustCompanyList;
    @JSONField(name = "caesCustContactList")
    private ArrayList<CaseCustContactDto> caesCustContactList;
    @JSONField(name = "caseCustAddressList")
    private ArrayList<CaseCustAddressDto> caseCustAddressList;
    @JSONField(name = "caseCarInfoList")
    private ArrayList<CaseCarInfoDto> caseCarInfoList;
    @JSONField(name = "caseCostInfoList")
    private ArrayList<FinCostDetails> caseCostInfoList;
    @JSONField(name = "caseFinancingItemList")
    private ArrayList<FinFinancingItems> caseFinancingItemList;
    @JSONField(name = "caseDiscountDetailList")
    private ArrayList<FinDiscountDetails> caseDiscountDetailList;
    @JSONField(name = "caseCarStyleDetailList")
    private ArrayList<CaseCarStyleDetailDto> caseCarStyleDetailList;
    @JSONField(name = "applyRentAdjustDetailsList")
    private ArrayList<FinRentAdjustDetails> applyRentAdjustDetailsList;
    @JSONField(name = "comAttachmentFileListDto")
    private ArrayList<ComAttachmentFileDto> comAttachmentFileListDto;

}
